package com.showsu.editor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.showsu.editor.entity.doo.RemoteInterfaceInfo;
import com.showsu.editor.entity.po.TblRemoteInterfaceInfo;

import java.util.List;

/**
 * @Author: William
 * @Description:
 * @Date: Created in 7:49 下午 2023/11/23
 * @Modified By:
 */
public interface IRemoteInterfaceInfoService extends IService<TblRemoteInterfaceInfo> {

    /**
     * 查询正在使用的接口信息
     * @param interfaceName
     * @return
     */
    RemoteInterfaceInfo queryUsingInterfaceInfo(String interfaceName);

    /**
     * 根据id查询接口信息
     * @param interfaceId
     * @return
     */
    RemoteInterfaceInfo queryById(Long interfaceId);

    /**
     * 通过interfaceId查出相同interfaceName下有自动切换标志的接口信息
     * @param interfaceId
     * @return
     */
    List<RemoteInterfaceInfo> queryAutoSwitchInterfacesBySameInterface(Long interfaceId);

    /**
     *  通过interfaceName查出相同interfaceName下有自动切换标志的接口信息
     * @param interfaceName
     * @return
     */
    List<RemoteInterfaceInfo> queryAutoSwitchInterfacesByName(String interfaceName);

    /**
     * 根据接口归类将该归类下正在使用的接口置为不在使用状态
     * @param interfaceName
     * @return
     */
    int updateActiveToUnavailableByInterfaceName(String interfaceName);

    /**
     * 更新某接口是否在用的状态
     * @param interfaceId
     * @param active
     * @return
     */
    int updateActiveByInterfaceId(Long interfaceId, Integer active);
}
